Image processing system for deep fashion color recognition

ABSTRACT

A system and method are disclosed for image processing of one or more items in an inventory of one or more supply chain entities. Embodiments include receiving an initial set of images of at least two items in the inventory, identifying color distributions from the initial set of images using two encoders, and grouping colors of the at least two items based on similarities of the identified color distributions using a color coding model.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/939,035, filed on Mar. 28, 2018, entitled “Image Processing Systemfor Deep Fashion Color Recognition,” which claims the benefit under 35U.S.C. § 119(e) to U.S. Provisional Application No. 62/478,211, filedMar. 29, 2017, and entitled “Image Processing System for Fashion ColorRecognition.” U.S. patent application Ser. No. 15/939,035 and U.S.Provisional Application No. 62/478,211 are assigned to the assignee ofthe present application. The subject matter disclosed in U.S. patentapplication Ser. No. 15/939,035 and U.S. Provisional Application No.62/478,211 is hereby incorporated by reference into the presentdisclosure as if fully set forth herein.

TECHNICAL FIELD

The present disclosure relates generally to image processing andspecifically to a system and method of normalizing color information forproducts in a supply chain.

BACKGROUND

Managing and planning operations for products in a fashion retail supplychain often requires analyzing color attributes of products prior tomaking actionable decisions. Color attributes may be expressed in termsof color codes, but color codes differ between manufacturers, productlines, and even the same products from season to season, which isproblematic for attribute-driven operations such as planning, demandforecasting, and customer segmentation. This lack of uniformcolor-coding among products in a fashion retail supply chain isundesirable.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention may be derived byreferring to the detailed description when considered in connection withthe following illustrative figures. In the figures, like referencenumbers refer to like elements or acts throughout the figures.

FIG. 1 illustrates an exemplary supply chain network according to afirst embodiment;

FIG. 2 illustrates the image processing system and the one or moreimaging devices of FIG. 1 in greater detail, in accordance with anembodiment;

FIG. 3 illustrates a diagram of an exemplary color-coding model,according to an embodiment;

FIG. 4 illustrates an exemplary method of generating uniform color codesfor fashion retail items, according to an embodiment;

FIG. 5 (depicted as FIGS. 5A and 5B) illustrates the preprocessing ofthree exemplary retail product images, according to an embodiment;

FIG. 6 illustrates extracting image features from an exemplary imageusing a non-overlapping box encoder, according to an embodiment;

FIG. 7 illustrates extracting features from an exemplary image using theiterative cell encoder, according to an embodiment;

FIG. 8 illustrates an exemplary output of the color coding modelcompared with human expert's labels, according to an embodiment; and

FIGS. 9 and 10 illustrate clustering results using the color-codingmodel, according to an embodiment.

DETAILED DESCRIPTION

Aspects and applications of the invention presented herein are describedbelow in the drawings and detailed description of the invention. Unlessspecifically noted, it is intended that the words and phrases in thespecification and the claims be given their plain, ordinary, andaccustomed meaning to those of ordinary skill in the applicable arts.

In the following description, and for the purposes of explanation,numerous specific details are set forth in order to provide a thoroughunderstanding of the various aspects of the invention. It will beunderstood, however, by those skilled in the relevant arts, that thepresent invention may be practiced without these specific details. Inother instances, known structures and devices are shown or discussedmore generally in order to avoid obscuring the invention. In many cases,a description of the operation is sufficient to enable one to implementthe various forms of the invention, particularly when the operation isto be implemented in software. It should be noted that there are manydifferent and alternative configurations, devices and technologies towhich the disclosed inventions may be applied. The full scope of theinventions is not limited to the examples that are described below.

As described more fully below, aspects of the following disclosurerelate to a system that analyzes product images using computer visionand machine learning techniques to generate uniform color codes. Coloris an important attribute of products in many industries, and nowheremore so than in fashion retail products. Fashion retailers frequentlycreate products of new or uncommon colors or change colors of existingproducts, and, each fashion retailer often uses its own colordefinitions. Even with digital imaging of products, color coding ofimages varies greatly between different supply chain entities and evenwithin different departments or between products of the same supplychain entity.

Without uniform color-coding, many decisions are currently made by humanexperts who must judge and evaluate subjective color distinctions (suchas, for example, determining whether a blue is a light-blue or adark-blue or identifying the primary-color of a multi-color dress). Suchdistinctions are, sometimes, vague, at least in the quantitative sense,and differ from expert to expert.

Embodiments of the following disclosure also relate to generating acolor-coding model that, after training with product images to identifycolor groups, identifies product colors for new product images.According to a further aspect, some embodiments may numerically measurethe similarity or dissimilarity between colors, identify possible newcolors, and improve operations and services that require standard anduniform color definitions.

FIG. 1 illustrates exemplary supply chain network 100 according to anembodiment. Supply chain network 100 comprises image processing system110, one or more imaging devices 120, inventory system 130,transportation network 140, one or more supply chain entities 150,computer 160, network 170, and communication links 180-190. Although asingle image processing system 110, one or more imaging devices 120, asingle inventory system 130, a single transportation network 140, one ormore supply chain entities 150, a single computer 160, and a singlenetwork 170, are shown and described, embodiments contemplate any numberof image processing systems, imaging devices, inventory systems,transportation systems, supply chain entities, computers, or networks,according to particular needs.

In one embodiment, image processing system 110 comprises server 112 anddatabase 114. According to embodiments, server 112 comprises an imageprocessing module that processes images, analyzes the images based on acolor-coding model, generates color labels for imaged products, andassigns products to color groups. According to embodiments, server 112may also comprise one or more modules that receive, store, and transmitdata about one or more products or items (including images of products,color codes, pricing data, attributes, and attribute values) and one ormore modules that define color models based, at least in part, on aneural network model, such as a Restricted Boltzmann Machine (RBM) orauto-encoder model and group product images by identified colors, asdescribed in more detail below. According to some embodiments, thefunctions and methods described in connection with the image processingmodule or image processing system 110 may be performed directly by oneor more image processors or by one or more modules configured to performthe functions and methods as described.

One or more imaging devices 120 comprise one or more processors 122,memory 124, one or more sensors 126, and may include any suitable inputdevice, output device, fixed or removable computer-readable storagemedia, or the like. According to embodiments, one or more imagingdevices 120 comprise an electronic device that receives imaging datafrom one or more sensors 126 or from one or more databases in supplychain network 100. One or more sensors 126 of one or more imagingdevices 120 may comprise an imaging sensor, such as, a camera, scanner,electronic eye, photodiode, charged coupled device (CCD), or any otherelectronic component that detects visual characteristics (such as color,shape, size, or the like) of objects. One or more imaging devices 120may comprise, for example, a mobile handheld electronic device such as,for example, a smartphone, a tablet computer, a wireless communicationdevice, and/or one or more networked electronic devices configured toimage items using sensor 126 and transmit product images to one or moredatabases.

In addition, or as an alternative, one or more sensors 126 may comprisea radio receiver and/or transmitter configured to read an electronictag, such as, for example, a radio-frequency identification (RFID) tag.Each item may be represented in supply chain network 100 by anidentifier, including, for example, Stock-Keeping Unit (SKU), UniversalProduct Code (UPC), serial number, barcode, tag, RFID, or like objectsthat encode identifying information. One or more imaging devices 120 maygenerate a mapping of one or more items in the supply chain network 100by scanning an identifier or object associated with an item andidentifying the item based, at least in part, on the scan. This mayinclude, for example, a stationary scanner located at one or more supplychain entities 150 that scans items as the items pass near the scanner.As explained in more detail below, image processing system 110, one ormore imaging devices 120, inventory system 130, and transportationnetwork 140 may use the mapping of an item to locate the item in supplychain network 100.

Additionally, one or more sensors 126 of one or more imaging devices 120may be located at one or more locations local to, or remote from, theone or more imaging devices 120, including, for example, one or moresensors 126 integrated into one or more imaging devices 120 or one ormore sensors 126 remotely located from, but communicatively coupledwith, one or more imaging devices 120. According to some embodiments,one or more sensors 126 may be configured to communicate directly orindirectly with one or more of image processing system 110, one or moreimaging devices 120, inventory system 130, transportation network 140,one or more supply chain entities 150, computer 160, and/or network 170using one or more communication links 180-190.

Inventory system 130 comprises server 132 and database 134. Server 132of inventory system 130 is configured to receive and transmit item data,including item identifiers, pricing data, attribute data, inventorylevels, and other like data about one or more items at one or morelocations in the supply chain network 100. Server 132 stores andretrieves item data from database 144 or from one or more locations insupply chain network 100.

Transportation network 140 comprises server 142 and database 144.According to embodiments, transportation network 140 directs one or moretransportation vehicles 146 to ship one or more items between one ormore supply chain entities 150, based, at least in part, oncolor-attribute-based customer segmentation, trend identification,supply chain demand forecasts, and/or product assortments determined byimage processing system 110, the number of items currently in stock atone or more supply chain entities 150, the number of items currently intransit in the transportation network 140, forecasted demand, a supplychain disruption, and/or one or more other factors described herein.Transportation vehicles 146 comprise, for example, any number of trucks,cars, vans, boats, airplanes, unmanned aerial vehicles (UAVs), cranes,robotic machinery, or the like. Transportation vehicles 146 may compriseradio, satellite, or other communication that communicates locationinformation (such as, for example, geographic coordinates, distance froma location, global positioning satellite (GPS) information, or the like)with image processing system 110, one or more imaging devices 120,inventory system 130, transportation network 140, and/or one or moresupply chain entities 150 to identify the location of the transportationvehicle 146 and the location of any inventory or shipment located on thetransportation vehicle 146.

As shown in FIG. 1 , supply chain network 100 operates on one or morecomputers 160 that are integral to or separate from the hardware and/orsoftware that support image processing system 110, one or more imagingdevices 120, inventory system 130, transportation network 140, and oneor more supply chain entities 150. Supply chain network 100 comprisingimage processing system 110, one or more imaging devices 120, inventorysystem 130, transportation network 140, and one or more supply chainentities 150 may operate on one or more computers 160 that are integralto or separate from the hardware and/or software that support imageprocessing system 110, one or more imaging devices 120, inventory system130, transportation network 140, and one or more supply chain entities150. Computers 160 may include any suitable input device 162, such as akeypad, mouse, touch screen, microphone, or other device to inputinformation. Output device 164 may convey information associated withthe operation of supply chain network 100, including digital or analogdata, visual information, or audio information. Computer 160 may includefixed or removable computer-readable storage media, including anon-transitory computer readable medium, magnetic computer disks, flashdrives, CD-ROM, in-memory device or other suitable media to receiveoutput from and provide input to supply chain network 100.

Computer 160 may include one or more processors 166 and associatedmemory to execute instructions and manipulate information according tothe operation of supply chain network 100 and any of the methodsdescribed herein. In addition, or as an alternative, embodimentscontemplate executing the instructions on computer 160 that causecomputer 160 to perform functions of the method. Further examples mayalso include articles of manufacture including tangible non-transitorycomputer-readable media that have computer-readable instructions encodedthereon, and the instructions may comprise instructions to performfunctions of the methods described herein.

In addition, and as discussed herein, supply chain network 100 maycomprise a cloud-based computing system having processing and storagedevices at one or more locations, local to, or remote from imageprocessing system 110, one or more imaging devices 120, inventory system130, transportation network 140, and one or more supply chain entities150. In addition, each of the one or more computers 160 may be a workstation, personal computer (PC), network computer, notebook computer,tablet, personal digital assistant (PDA), cell phone, telephone,smartphone, wireless data port, augmented or virtual reality headset, orany other suitable computing device. In an embodiment, one or more usersmay be associated with the inventory planer 110, one or more imagingdevices 120, inventory system 130, transportation network 140, and oneor more supply chain entities 150. These one or more users may include,for example, a “manager” or a “planner” handling assortment planning,customer segmentation, and/or one or more related tasks within thesystem. In addition, or as an alternative, these one or more userswithin the system may include, for example, one or more computersprogrammed to autonomously handle, among other things, one or moresupply chain processes such as assortment planning, customersegmentation, demand planning, supply and distribution planning,inventory management, allocation planning, order fulfillment, adjustmentof manufacturing and inventory levels at various stocking points, and/orone or more related tasks within supply chain network 100.

One or more supply chain entities 150 represent one or more supply chainnetworks, including one or more enterprises, such as, for examplenetworks of one or more suppliers 152, manufacturers 154, distributioncenters 156, retailers 158 (including brick and mortar and onlinestores), customers, and/or the like. Suppliers 152 may be any suitableentity that offers to sell or otherwise provides one or more items(i.e., materials, components, or products) to one or more manufacturers154. Suppliers 152 may comprise automated distribution systems 153 thatautomatically transport products to one or more manufacturers 154 based,at least in part, color-attribute-based customer segmentation, trendidentification, supply chain demand forecasts, and/or productassortments determined by image processing system 110, and/or one ormore other factors described herein.

Manufacturers 154 may be any suitable entity that manufactures at leastone product. Manufacturers 154 may use one or more items during themanufacturing process to produce any manufactured, fabricated,assembled, or otherwise processed item, material, component, good, orproduct. In one embodiment, a product represents an item ready to besupplied to, for example, one or more supply chain entities 150 insupply chain network 100, such as retailers 158, an item that needsfurther processing, or any other item. Manufacturers 154 may, forexample, produce and sell a product to suppliers 152, othermanufacturers 154, distribution centers 156, retailers 158, a customer,or any other suitable person or entity. Manufacturers 154 may compriseautomated robotic production machinery 155 that produce products based,at least in part, color-attribute-based customer segmentation, trendidentification, supply chain demand forecasts, and/or productassortments determined by image processing system 110, and/or one ormore other factors described herein.

Distribution centers 156 may be any suitable entity that offers to storeor otherwise distribute at least one product to one or more retailers158 and/or customers. Distribution centers 156 may, for example, receivea product from a first one or more supply chain entities 150 in supplychain network 100 and store and transport the product for a second oneor more supply chain entities 150. Distribution centers 156 may compriseautomated warehousing systems 157 that automatically remove productsfrom and place products into inventory based, at least in part,color-attribute-based customer segmentation, trend identification,supply chain demand forecasts, and/or product assortments determined byimage processing system 110, and/or one or more other factors describedherein.

Retailers 158 may be any suitable entity that obtains one or moreproducts to sell to one or more customers. Retailers 158 may compriseany online or brick-and-mortar store, including stores with shelvingsystems 159. Shelving systems may comprise, for example, various racks,fixtures, brackets, notches, grooves, slots, or other attachment devicesfor fixing shelves in various configurations. These configurations maycomprise shelving with adjustable lengths, heights, and otherarrangements, which may be adjusted by an employee of retailers 158based on computer-generated instructions or automatically by machineryto place products in a desired location in retailers 158 and which maybe based, at least in part, color-attribute-based customer segmentation,trend identification, supply chain demand forecasts, and/or productassortments determined by image processing system 110, and/or one ormore other factors described herein.

Although one or more supply chain entities 150 are shown and describedas separate and distinct entities, the same entity may simultaneouslyact as any one of the one or more supply chain entities 150. Forexample, one or more supply chain entities 150 acting as a manufacturercan produce a product, and the same one or more supply chain entities150 can act as a supplier to supply an item to itself or another one ormore supply chain entities 150. Although one example of a supply chainnetwork 100 is shown and described, embodiments contemplate anyconfiguration of supply chain network 100, without departing from thescope described herein.

In one embodiment, image processing system 110 may be coupled withnetwork 170 using communications link 180, which may be any wireline,wireless, or other link suitable to support data communications betweenimage processing system 110 and network 170 during operation of supplychain network 100. One or more imaging devices 120 may be coupled withnetwork 170 using communications link 182, which may be any wireline,wireless, or other link suitable to support data communications betweenone or more imaging devices 120 and network 170 during operation ofsupply chain network 100. Inventory system 130 may be coupled withnetwork 170 using communications link 184, which may be any wireline,wireless, or other link suitable to support data communications betweeninventory system 130 and network 170 during operation of supply chainnetwork 100. Transportation network 140 may be coupled with network 170using communications link 186, which may be any wireline, wireless, orother link suitable to support data communications betweentransportation network 140 and network 170 during operation of supplychain network 100. One or more supply chain entities 150 may be coupledwith network 170 using communications link 188, which may be anywireline, wireless, or other link suitable to support datacommunications between one or more supply chain entities 150 and network170 during operation of supply chain network 100. Computer 160 may becoupled with network 170 using communications link 190, which may be anywireline, wireless, or other link suitable to support datacommunications between computer 160 and network 170 during operation ofsupply chain network 100.

Although communication links 180-190 are shown as generally couplingimage processing system 110, one or more imaging devices 120, inventorysystem 130, transportation network 140, one or more supply chainentities 150, and computer 160 to network 170, any of image processingsystem 110, one or more imaging devices 120, inventory system 130,transportation network 140, one or more supply chain entities 150, andcomputer 160 may communicate directly with each other, according toparticular needs.

In another embodiment, network 170 includes the Internet and anyappropriate local area networks (LANs), metropolitan area networks(MANs), or wide area networks (WANs) coupling image processing system110, one or more imaging devices 120, inventory system 130,transportation network 140, one or more supply chain entities 150, andcomputer 160. For example, data may be maintained locally to, orexternally of, image processing system 110, one or more imaging devices120, inventory system 130, transportation network 140, one or moresupply chain entities 150, and computer 160 and made available to one ormore associated users of image processing system 110, one or moreimaging devices 120, inventory system 130, transportation network 140,one or more supply chain entities 150, and computer 160 using network170 or in any other appropriate manner. For example, data may bemaintained in a cloud database at one or more locations external toimage processing system 110, one or more imaging devices 120, inventorysystem 130, transportation network 140, one or more supply chainentities 150, and computer 160 and made available to one or moreassociated users of image processing system 110, one or more imagingdevices 120, inventory system 130, transportation network 140, one ormore supply chain entities 150, and computer 160 using the cloud or inany other appropriate manner. Those skilled in the art will recognizethat the complete structure and operation of network 170 and othercomponents within supply chain network 100 are not depicted ordescribed. Embodiments may be employed in conjunction with knowncommunications networks and other components.

In accordance with the principles of embodiments described herein, imageprocessing system 110 may generate a grouping of similar images for theinventory of one or more supply chain entities 150 in supply chainnetwork 100. Furthermore, image processing system 110 may instructautomated machinery (i.e., robotic warehouse systems, robotic inventorysystems, automated guided vehicles, mobile racking units, automatedrobotic production machinery, robotic devices and the like) to adjustproduct mix ratios, inventory levels at various stocking points,production of products of manufacturing equipment, proportional oralternative sourcing of one or more supply chain entities, and theconfiguration and quantity of packaging and shipping of items based onone or more groupings of images and/or current inventory or productionlevels. For example, the methods described herein may include computers160 receiving product data 210 (FIG. 2 ) from automated machinery havingat least one sensor and product data 210 corresponding to an itemdetected by the automated machinery. The received product data 210 mayinclude an image of the item, an identifier, as described above, and/orother product information associated with the item (dimensions, texture,estimated weight, and the like). The method may further includecomputers 160 looking up the received product data 210 in a databasesystem associated with image processing system 110 to identify the itemcorresponding to the product data 210 received from the automatedmachinery.

Computers 170 may also receive, from one or more sensors 126 of the oneor more imaging devices, a current location of the identified item.Based on the identification of the item, computers 160 may also identify(or alternatively generate) a first mapping in the database system,where the first mapping is associated with the current location of theidentified item. Computers 160 may also identify a second mapping in thedatabase system, where the second mapping is associated with a pastlocation of the identified item. Computers 160 may also compare thefirst mapping and the second mapping to determine if the currentlocation of the identified item in the first mapping is different thanthe past location of the identified item in the second mapping.Computers 160 may then send instructions to the automated machinerybased, as least in part, on one or more differences between the firstmapping and the second mapping such as, for example, to locate items toadd to or remove from an inventory of or package for one or more supplychain entities 150.

FIG. 2 illustrates image processing system 110 of FIG. 1 in greaterdetail, according to an embodiment. As discussed above, image processingsystem 110 may comprise server 112 and database 114. Although imageprocessing system 110 is shown as comprising a single server 112 and asingle database 114, embodiments contemplate any suitable number ofservers or databases internal to or externally coupled with imageprocessing system 110.

Server 112 of image processing system 110 may comprise image processingmodule 200, inventory interface 202, modeler 204, and solver 206.According to embodiments, image processing module 200 analyzes imagesbased on a color-coding model, generates color labels for imagedproducts, assigns products to color groups, performs product imagepreprocessing, and extracts features from product images. According toembodiments, image processing system 110 performs feature extractionusing a non-overlapping box encoder and an iterative cell encoder.According to further embodiments, image processing system 110 may run aclustering algorithm, such as a k-means clustering, over raw image pixeldata. However, as the feature space may be too high-dimensional, theresults may not be optimal. According to some embodiments, the functionsand methods described in connection with image processing module 200 orimage processing system 110 may be performed by an image processorcomprising a purpose-built microchip that performs one or more of thefunctions described.

According to embodiments, inventory interface module 202 provides a userinterface to receive, store, modify, and transmit product data 210,including images of products, existing color codes, pricing data,attribute data, inventory levels, and other like data about one or moreproducts at one or more locations in system 100 including one or moredatabases associated with image processing system 110, inventory system130, transportation network 140, and/or one or more supply chainentities 150.

According to an embodiment, modeler 204 defines color-coding modelsbased, at least in part, on a neural network model architecture, such asa Restricted Boltzmann Machine (RBM) or auto-encoder model. According toembodiments, image processing system 110 receives product images orimage data as a feature vector and generates an output layer composed ofn binary random variables, which control the maximum number of outputcolor groups. Embodiments of modeler 204 contemplate generating modelswith hidden layers, represented by binary or real random variables, orextending a color-coding model to include auto-encoders and adversarialnetworks, as explained in more detail below. According to someembodiments, solver 206 comprises one or more modules that, in responseto receiving input data, generates a color grouping, as described inmore detail below.

FIG. 3 illustrates a diagram 300 of an exemplary color-coding model,according to embodiments. In one embodiment, the color-coding model ofimage processing system 110 is an unsupervised generative neural networkmodel, such as, for example, the Restricted Boltzmann Machine (“RBM”) orauto-encoder model, comprising an input layer 302, a concept abstractionlayer 304, one or more hidden layers 306, and an output layer 308.Although the color-coding model is described here in connection with aRBM, embodiments contemplate any other suitable model, such as, forexample, auto-encoders and/or adversarial networks.

Input layer 302 of the color-coding model comprises a feature vector, v.This vector may be generated from one or more preprocessed productimages, as explained in more detail below. Concept abstraction layer 304comprises one or more encoders, such as the box encoder, the iterativecell encoder, or both. According to some embodiments, the feature vectorv comprises the feature vectors v_(b) and v_(c), which are generated bythe box and cell encoders, respectively. According to an embodiment, theinput to the Deep Neural Network (DNN) is an abstraction of the pixelcolor densities as random variables and/or the input is an aggregationof color values from certain regions of the input image.

The deep neural network (DNN) layer comprises one or more hidden layers306, represented by one or more hidden layer vectors, h. Multiple hiddenlayers 306 create depth in the architecture of the color-coding model.According to embodiments, the color-coding model comprises a firstinstance of the color-coding model for binary random variables and asecond instance of the color-coding model for real random variables.

Output layer 308 of the color-coding model comprises n binary randomvariables, represented by o={o}_(i) ^(n), which controls the maximumnumber of output color groups the model is expected to generate. Inembodiments where the color-coding model is an auto-encoder or anadversarial network, the output variable, o, may also be modeled as areal vector, and the color-coding model comprises an extra clusteringaction to group learned features, such as, for example, grouping productimages according to the similarity of product colors. For example,supposing that input layer 302 to the color-coding model comprisesvarious product images of dresses in four colors: dark red, light red,light blue, and dark blue. According to this example, output layer 308may comprise the product images sorted into groups based on the dresscolor (i.e. one group of product images for each of the four dresscolors). The color-coding model will organize the dresses according tocolor distribution similarities, where each color is based on apredetermined number of groupings based on the structure of thecolor-coding model. In this manner, the color-coding model learns toorganize images in the fashion industry based on the color of thearticle of clothing in the image.

The color-coding model determines groupings of item colors in thecontext of deep convolutional neural networks. Deep convolutional neuralnetworks are powerful for object detection and recognition. Instead ofdirectly feeding the model raw image pixels as input data, the imageprocessor constructs higher-level image features. The color-coding modellearns groupings in an unsupervised fashion in order to reduce the biasthat might have been induced by the sample images of products receivedby image processing system 110. For a given set of fashion productimages (i.e. training data), the image processing model learns featuresso that the products are well grouped in the fashion color space. Thegroup identifiers in that group then become the machine generated colorlabel for each product belonging to the same group. When the imageprocessing model is given a new, previously unseen product image, themodel assigns that product image to its corresponding group, asexplained in more detail below.

Although server 112 is shown and described as comprising a single imageprocessing module 200, a single inventory interface 202, a singlemodeler 204, and a single solver 206, embodiments contemplate anysuitable number or combination of these located at one or morelocations, local to, or remote from image processing system 110, such ason multiple servers or computers at any location in supply chain network100.

Database 114 of image processing system 110 may comprise one or moredatabases or other data storage arrangement at one or more locations,local to, or remote from, server 112. Database 114 comprises, forexample, product data 210, product images 212, model data 214, colordefinitions 216, inventory data 218, and demand data 220. Although,database 114 is shown and described as comprising product data 210,product images 212, model data 214, color definitions 216, inventorydata 218, and demand data 220, embodiments contemplate any suitablenumber or combination of these, located at one or more locations, localto, or remote from, image processing system 110 according to particularneeds.

Product data 210 of database 114 may comprise one or more datastructures for identifying, classifying, and storing data associatedwith products, including, for example, a product identifier (such as aStock Keeping Unit (SKU), Universal Product Code (UPC) or the like),product attributes and attribute values, sourcing information, and thelike. Product data 210 may comprise data about one or more productsorganized and sortable by, for example, product attributes, attributevalues, product identification, sales quantity, demand forecast, or anystored category or dimension. Attributes of one or more products may be,for example, any categorical characteristic or quality of a product, andan attribute value may be a specific value or identity for the one ormore products according to the categorical characteristic or quality,including, for example, physical parameters (such as, for example, size,weight, dimensions, color, and the like).

As an example only and not by way of limitation, a fashion retailproduct may comprise, for example, shirts, shoes, dresses, skirts,socks, purses, suits, or any other like clothing or accessory. Eachproduct comprises product attributes that may include any suitablecharacteristic or product information, such as, item identifiers, size,colors, style, and/or the like. For example, an exemplary fashion retailproduct, such as a shirt, may comprise the attributes of gender, season,article of clothing, color, sleeve-length, price segment, pattern,and/or the like. Exemplary attribute values for these attributes mayinclude, for example, male or female, for gender; spring, summer, fall,winter, for season; top, blouse, shirt, bottom, pants, shorts, skirt, orthe like, for article of clothing; red, blue, green, or the like, forcolor; long, short, medium, or the like, for sleeve-length; good,better, best, for price segment; stripe, checked, plain, or the like,for pattern. Although particular products comprising particularattributes and attribute values are described herein, embodimentscontemplate any supply chain or retail products being associated withany product attributes and attribute values, accordingly to particularneeds.

According to embodiments, product image data 212 of database 114comprises product images, which may include digital images, digitalvideos, or other like imaging data of one or more retail products.According to embodiments, product images may be raw data received froman imaging sensor or a standard format computer-readable image file.Color models, such as, for example, the Red Green Blue (“RGB”) model andthe Hue Saturation Value (“HSV”) model, may be used to transform analogsignals to digital signals and for storing digital images and videos.Color models comprise image pixels as basic elements and may includeother abstractions of information. According to an embodiment, standardcolor models may provide how pixels of an image are representeddigitally, how color images are configured by users, and how image filesare stored in computers. Using the RGB color model, for example, eachpixel in an image is identified by a value for the red channel (“R”), avalue for the green channel (“G”), and a value for the blue channel(“B”). For example, a pixel that is pink would comprise specificnumerical values for each of the channels (R, G, and B) that, whenmixed, create a pink color. Alternatively, a pixel that is purple wouldcomprise different values for each of the R, G, and B channels that,when mixed, create a purple color. According to embodiments, RGB datamay be stored in a three-dimensional matrix where each cell represents apixel and a pixel is a combination of the R, G, and B channel values.

Model data 214 of database 114 may comprise a color-coding model basedon artificial neural networks. Embodiments of the color-coding modelreceive, instead of raw image pixels, higher-level image features, whichare the input to the neural network that learns model parameters in anunsupervised fashion to group colors of products in a color space. Thegroup identifiers of the color groups then become the machine-generatedcolor label for each product belonging to the group. When the model isgiven a new, previously unseen product image, the model assigns thatproduct image to its corresponding group based on the color of theproduct identified in the product image.

Color definitions 216 of database 114 may comprise a set of uniformcolor-codes generated from a color-coding model and one or more imagesof retail products. According to embodiments, image processing system110 provides a more meaningful machine-validated color designation. Forexample, the output of image processing system 110 may comprise a uniqueset of uniform color codes for each fashion product or supply chainentity 150. This may include a uniform color-coding model that unifiescolor-attribute values and generates consistent color codes fordifferent products, different departments, different supply chainentities 150, and the like so that one or more enterprises may useconsistent color codes to simplify color-involved supply chain planningdecisions. For example, the color “Cayman blue” may represent aparticular narrow range of colors that is consistent across all supplychain entities using the color codes generated by image processingsystem 110. According to some embodiments, standardizing a colordefinition provides numerically defining the color and identifyinggroups of similar colors even if the colors are not exact matches.According to embodiments, image processing system 110 numericallymeasures the similarity or dissimilarity between colors, such as, forexample, ‘red’ and ‘green.’ The similarity or dissimilarity may then beused to define new colors, such as ‘light-red’ or ‘dark-green’ andimprove performance of attribute-driven algorithms, such asattribute-based forecasting or segmentation.

Inventory data 218 of database 114 may comprise any data relating tocurrent or projected inventory quantities or states. For example,inventory data 218 may comprise the current level of inventory for itemsat one or more stocking points across supply chain network 100. Inaddition, inventory data 218 may comprise order rules that describe oneor more rules or limits on setting an inventory policy, including, butnot limited to, a minimum order quantity, a maximum order quantity, adiscount, a step-size order quantity, and batch quantity rules.According to some embodiments, image processing system 110 accesses andstores inventory data 218 in database 114, which may be used by imageprocessing system 110 to place orders, set inventory levels at one ormore stocking points, initiate manufacturing of one or more components,or the like. In addition, or as an alternative, inventory data 218 maybe updated by receiving current item quantities, mappings, or locationsfrom one or more imaging devices 120, inventory system 130, and/ortransportation system 140.

Demand data 220 of database 114 may comprise, for example, any datarelating to past sales, past demand, and purchase data of one or moresupply chain entities 150. Demand data 220 may be stored at timeintervals such as, for example, by the minute, hour, daily, weekly,monthly, quarterly, yearly, or any suitable time interval, includingsubstantially in real time. According to embodiments, demand data 220may include historical demand or projected demand forecasts for one ormore retail locations or regions of one or more supply chain entities150 and may include product attribute demand or forecasts. For example,a New York store may need 120 large black shirts and 65 medium stripedblack shirts while a Los Angeles store may need 34 medium yellowsweaters and 25 medium striped black shirts. Although a particularexample of demand data 220 is described, embodiments contemplate anynumber or any type of demand data, according to particular needs.

As described more fully below and according to embodiments, imageprocessing system 110 identifies product colors, groupssimilarly-colored products, and generates a uniform color-coding schemefor the one or more supply chain entities 150.

FIG. 4 illustrates exemplary method 400 of generating uniform colorcodes for fashion retail items, according to an embodiment. Although theactions of method 400 are described in a particular order, one or moreactions may be performed in one or more combinations or permutationsaccording to particular needs.

At action 402, one or more imaging devices 120 capture one or moreproduct images. According to embodiments, sensors 126 of one or moreimaging devices 120 capture imaging data of one or more products andstore the imaging data in one or more storage locations in supply chainnetwork 100.

At action 404, image processing system 110 receives one or more productimages. According to embodiments, image processing system 110 may accessone or more product images from one or more data storage locations insupply chain network 100. As discussed in more detail below,color-coding model may first generate color groupings in response to agroup of product images representing training images. After color-codingmodel is trained with the first group of product images and colorgroupings are identified, color-coding model may identify a color of aproduct in subsequently analyzed product images by selecting a colorfrom the color groupings generated during training.

At action 406, image processing system 110 converts product images fromanalog to digital using some digital color representation model.Specific color representation models may comprise, for example, RGB,HSV, Luma and Color Difference (“YUV”), and Cyan, Magenta, Yellow, andKey (“CMYK”). According to embodiments, retailers or manufacturersconfigure, store, and display digital images based on one or morestandard color models. These color models may also be used in connectionwith converting one digital format to another. Although particular colormodels have been shown and described, embodiments contemplate anysuitable color model or models, according to particular needs. Althoughmost images of retail fashion products comprise colored images,embodiments contemplate gray-scale images, according to particularneeds.

At action 408, image processing system 110 performs preprocessingactions on the input images. Prior to input to the color-coding model,product images may be preprocessed to, for example, remove sensor noiseand align data.

FIG. 5 (depicted as FIGS. 5A and 5B) illustrates the prepossessing ofthree exemplary retail product images 500 a-500 c, according to anembodiment. Exemplary retail product images 500 a-500 c comprise amulti-colored patterned dress product image 500 a, a red solid-coloreddress product image 500 b, and a blue patterned product image 500 c.According to embodiment, product images, such as, for example, exemplaryretail product images 500 a-500 c, may be unsuitable for immediateprocessing by the color-coding model because of inconsistencies betweenproduct images including: the images are different sizes, the productsare not in the same relative positions within the images, the backgroundcolors are different, and the like. By preprocessing product images,image processing module 200 may attenuate these problems and align thedata so that the input is cleaned before being processed by thecolor-coding model. Image preprocessing may comprise one or moreactions, including, bounding box annotation 502 a-502 c, image sizeunification 504 a-504 c, and circle masking 506 a-506 c.

According to embodiments, preprocessing product images comprisesbounding box annotation 502 a-502 c that localizes a product in an imageby a bounding box detection algorithm. Bounding box detection algorithmdetects a product location within an image and generates a bounding box508 a-508 c surrounding all or a major part of the product. Bounding box508 a-508 c defines an area outside the bounding box 508 a-508 c thatwill be cropped and discarded from the raw product image. The areainside of bounding box 508 a-508 c defines the portion of the productimage that is retained.

Preprocessing product images may also include image size unification 504a-504 c which resizes the product images to a uniform size. For example,the new size may be represented by [h, w], where h is the new height,and w is the new width of the resized image. By example and not by wayof limitation, the uniform size may be a standard transformation, suchas a 250 pixel by 250 pixel square, or any other suitable image size. Inaddition, or as an alternative, preprocessing product images maycomprise circle masking 506 a-506 c. According to embodiments, circlemasking 506 a-506 c comprises passing the resized image through a circlemasking step, where all pixels that are outside the periphery of acircle, whose center covers a major part of the item, are madeequivalent. The pixels may be made equivalent by, for example, settingall pixels to white or black, or discarding the pixels and removing themfrom the product image. Although a circular mask is illustrated, anysuitable mask shape may be used, including omitting the application of amask altogether. According to embodiments, preprocessing one or moreproduct images results in an RGB image that is represented as athree-dimensional matrix, [h, w, 3], where the third dimensionrepresents the three RGB color channels: {R, G, B}.

At action 410, image processing system 110 extracts features using oneor more encoders. After preprocessing product images, image processingsystem 110 may extract higher-level features from product image pixels(stored as matrix, [h, w, 3]) using one or more encoders, such as, forexample, a non-overlapping box encoder and an iterative cell encoder.

FIG. 6 illustrates extracting image features from exemplary image 506 busing a non-overlapping box encoder, according to an embodiment.Exemplary circle-masked red-dress product image 506 b comprises theimage resulting from the preprocessing of red solid-colored dressproduct image 500 b. According to embodiments, the box encoder extractsa histogram of color distributions from non-overlapping boxes 602 a-602n that extend from the center of image 506 b and grow larger to theperimeter of image 506 b. Concatenation of these box features define afeature vector, v_(b); |v_(b)|=n_(b), where, n_(b) is the length of thefeature vector v_(b).

By way of further illustration, an example is now given. In thefollowing example, image processing system 110 may extract colordistribution information from each box in a non-overlapping analysis. Inthe above illustration, the dress color distribution is extracted fromthe center box 602 a of image 506 b, a separate color distribution isextracted from the next box 602 b, another separate color distributionis extracted from the next box 602 c, and so on. In other words, thesecond box 602 b illustrated in the box encoder would not include colorinformation from the first box 602 illustrated in the box encoder, andso on. The color information from the outer boxes 602 d-602 n may haveless contributing information due to overlapping background noiseeffects, which has been normalized through the preprocessing actions.

According to embodiments, a box encoder may identify a representative ordominant color from a product image. By example and not by way oflimitation, a box encoder may identify the dominant color from twoexemplary product images of clothing, such as, for example, a firstimage comprising a blue dress that is a solid color and almost nearlyfills the product image, and a second image comprising a solid bluejacket unbuttoned with a white blouse occupying the center of the imageand black pants occupying the bottom portion of the image. Although theimage of the solid-color dress would be represented by more blue pixelsthan the image of the blue jacket (where a significant portion of theimage is occupied by a white blouse and black pants) the box encoder maystill identify the dominant color of both images as blue. Because theimage processing module 200 is using an RGB color model, white pixelsare equivalent to an equal mixing of the three color channels with highvalues, and black pixels are equivalent to an equal mixing of the threecolor channels but with very lows values. In other words, the green andred channels will still be equally distributed because black and whitepixels do not alter the proportion of the colors in the image. Becausethere are still more blue values than red or green values in both thefirst and second image, the box encoder will identify blue as thedominant color.

FIG. 7 illustrates extracting features from exemplary image 506 b usingthe iterative cell encoder, according to an embodiment. Iterative cellencoder comprises an encoder that extract features from image 406 b bydividing the sample image into an increasing number of cells. At eachiteration-level, the image, or parts of the image, is divided into fourequally-sized cells, which defines a cell at that level. For example,the full image itself defines the 0^(th) level cell 700. Dividing thesample image into four equally size cells generates four 1^(st) levelcells 702 a-702 b. Dividing each of the 1^(st) level cells into fourequally sized cells generates sixteen 2^(nd) level cells. However, forclarity, only up to the four 2^(nd) level cells 704 a-704 d generatedfrom dividing 1^(st) level cell 702 a are illustrated. From eachiterative cell in various levels, histograms are extracted andconcatenation of these features define the feature vector, v_(c);|v_(c)|=n_(c). For notational convenience, the box-encoder feature,v_(b) and iterative cell encoder feature, v_(c) are defined togetherwith a single random variable, v, which is named as the input or visiblelayer of the color-coding model, as explained below.

At action 412, image processing system 110 generates color-coding model.According to embodiments, the color-coding model may comprise threetypes of layers: a visible layer (v), a hidden layer (h), and an outputlayer (o). The visible layer of the color-coding model may be composedof feature vectors coming from the box and cell encoders, i.e. v=[v_(b),v_(c)]. The output layer of the color coding model may comprise a vectorof n binary random variables that sets the maximum number of possibleoutput clusters. Between the visible layer, v, and the output layer, o,the color-coding model consists of zero, one, or more hidden layers, h.Each hidden layer may comprise one or more binary or floating pointrandom variable nodes depending on the particular configuration of thecolor-coding model.

According to an embodiment, the joint probability distribution, P, ofthe color-coding model is determined according to Equation 1:

$\begin{matrix}{{P( {v,h,o} )} = {\frac{1}{Z}\mspace{14mu}{\exp( {- {E( {v,h,o} )}} )}}} & (1)\end{matrix}$

for visible variable v, hidden variable, h, output variable o,normalization constant or partition function, Z, and energy function,E(v, h, o).

For simplicity, the color-coding model is first explained withoutreference to the hidden layer, and then explained again, below, with thehidden layer included.

With no hidden layer, the color-coding model is determined according toEquation 2:

$\begin{matrix}{{P( {v,o} )} = {\frac{1}{Z}\mspace{14mu}{\exp( {- {E( {v,o} )}} )}}} & (2)\end{matrix}$

for visible variable v, output variable o, normalization constant orpartition function, Z, and energy function, E(v, o). The energyfunction, in turn, is modeled according to Equation 3:

$\begin{matrix}{{E( {v,o} )} = {{- {\sum\limits_{i,j}{v_{b_{i}}W_{i,j}o_{j}}}} - {\sum\limits_{\hat{i},j}{v_{c_{i}}W_{i,j}o_{j}}} - {\sum\limits_{j}{b_{j}o_{j}}} - {\sum\limits_{i}{c_{b_{i}}v_{b_{i}}}} - {\sum\limits_{\hat{i}}{c_{c_{i}}v_{c_{i}}}}}} & (3)\end{matrix}$

where, b_(j) and {c_(b) _(i) , c_(c) _(i) } are the corresponding biasesof the output and input (visible) units; c_(b) _(i) is for the boxencoder feature vector; and c_(c) _(i) is for the iterative cell-encoderfeature vector.

The output variables are disjoint to one other, and the conditionaldistribution is modeled as a Bernoulli distribution, according toEquation 4:

$\begin{matrix}{{P( {o❘v} )} = {\underset{j}{\Pi}{P( {o_{j}❘v} )}}} & (4)\end{matrix}$

The conditional of the visible variable given the output is modeled as aGaussian with a diagonal covariance, according to Equation 5:

$\begin{matrix}{{P( {v❘o} )} = {\underset{i}{\Pi}{P( {v_{i}❘o} )}}} & (5)\end{matrix}$

To extend the color-coding model with one or more hidden layers,connections are added linking layers together. For example, connectionsmay be added linking the input (v) to a first hidden layer (h), linkinga first hidden layer (h) and a second hidden layer (ĥ), and linking asecond hidden layer (ĥ) and the output layer (o). Each of theconnections may be defined by corresponding parameter matrices asW_(v,h), W_(h,ĥ), and W_(ĥ,o). Model learning is described in moredetail below, however, the corresponding conditionals for P(h|v),P(ĥ|h), P(h|ĥ), and P(o|ĥ), are expressed in terms similar to Equations4 and 5, above, depending on their data-types.

Additionally, for the two input feature vectors, v_(b) and v_(c), thecolor-coding model may learn separate hidden-layer sequences, and thefinal layer (output) will merge and/or combine information from thesetwo sequences as a fully connected neural-network layer.

According to embodiments, the color-coding model may includemathematical convolutions with max-pooling. Some preprocessed image datamay have bounding-box annotation noise, such as, for example, when theproduct is not in the center of a detected bounding box in an image, orwhen bounding box removes or cuts off a portion of the product image. Toremove this noise, and thus to employ a more general featurerepresentation, image processing system 110 extends the color-codingmodel with convolutions and max-pooling operations that are appliedbetween layers of the color-coding model.

At action 414, image processing system 110 trains color-coding modelwith one or more training product images. For a given set of productimages, V={v_(i)}_(i) ^(N), the objective of the color-coding model isto learn parameter Θ* maximizing the data log-likelihood according toEquation 6:

$\begin{matrix}{\Theta^{*} = {\underset{\Theta}{\arg\mspace{14mu}\max}{\sum\limits_{i}^{N}{\log\mspace{14mu}{P( v_{i} )}}}}} & (6)\end{matrix}$

where, Θ* encodes all neural network parameters, such as, for example,parameters for input to hidden layers, parameters for hidden to hiddenlayer(s), and parameters for hidden to output layers. According to someembodiments, the color-coding model may use a Gibbs block sampling andlayer-to-layer contrastive divergence (“CD”) algorithm for parameterlearning.

At action 416, image processing system 110 generates product colorgroupings. According to embodiments, the color-coding model may make aprediction for a test product image, v_(t), where the output comprisesthe corresponding cluster label as assigned according to Equation 7:

$\begin{matrix}{\underset{o_{t}}{\arg\mspace{14mu}\max}{P( {{o_{t}❘v_{t}},\Theta^{*}} )}} & (7)\end{matrix}$

FIG. 8 illustrates an exemplary output of the color coding model,according to an embodiment. Output may comprise table 800 comprisingcolor labels for retail items determined by human experts and by thecolor-coding model. For example, table 800 comprises columns and rows.Each column comprises a product attribute (such as an itemidentification number, material, trim, and color), and each rowcomprises product attribute values for a sample dataset 802 comprisingproduct images of exemplary colored dresses. For example, table 800comprises products 24215065, 24225124, and 24199237, each item listed ona different row. Table 800 also comprises the column “color_by_human,”which identifies the color selected for an item by human experts, andthe column “color_by_machine,” which identifies the grouping selected byimage processing module 110 using the color-coding model. Table 800indicates that products 24215065 and 24225124 have been identified byhuman experts as sharing the same color, “red,” while image processingmodule 200 also identified that these two products share the same colorby grouping them into the same product image grouping, group “B.”

According to embodiments, the output of the color coding model comprisesa label for a group defined by its dominant color. Image processingsystem 110 may correlate the predefined color definitions to make themuniform across all retailers and manufacturers. According to someembodiments, the colors may be individually numericalized, which mayprovide metrics for exact matching.

At action 418, a new product image may be introduced to color-codingmodel. As discussed above, image processing system 110 may first traincolor-coding model to generate color groupings based on training productimages. By training color-coding model, image processing system 110 maypresent new product images to the color-coding model, which attempts toidentify into which color group the new product image should be placed.

At action 420, image processing module 200 may identify the productcolor for the new product image. Based on the color group identified bythe color-coding model, image processing module 200 determines the colorof the product in the new product image. According to embodiments, imageprocessing module 200 may continue to identify the color of products inproduct images to group products according to uniform color codes. Oncethe images have been grouped, embodiments contemplate one or more supplychain planners using the organization to segment customers, identifytrends, plan supply chain demands, plan product assortments, and thelike. Additionally, embodiments contemplate the color-coding model ofimage processing system 110 may recognize that a certain color valuewhich has never been seen before is the same as a different color valueinputted at another time and it may leverage this information to savetime. Further, image processing system 110 functions as an automaticdata cleaning system that organizes color attribute information based onactual image data or product attribute information. This improves theaccuracy of any model or method based on color information in thedownstream process.

FIGS. 9 and 10 illustrate exemplary clustering results usingcolor-coding model, according to an embodiment. Clustering resultscomprise sum of squares error 900 and average silhouette precision score1000 for human-labeled 902 and 1002 and machine-generated color labels(ten machine-generated color groups 904 and 1004 and twentymachine-generated color groups 906 and 1006) using a sample dataset ofexemplary colored dresses, a k-means clustering algorithm, and featuresextracted with a box encoder. Even with this naïve approach (withoutincluding any neural network training), the clustering resultsdemonstrate a reasonable boost both for the error 900 and precision(silhouette score) 1000 matrices. Although examples have been describedin connection with products in the fashion retail industry, embodimentscontemplate the use of image processing system 110 for products in anysuitable industry, according to particular needs.

Reference in the foregoing specification to “one embodiment”, “anembodiment”, or “some embodiments” means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the invention. The appearancesof the phrase “in one embodiment” in various places in the specificationare not necessarily all referring to the same embodiment.

While the exemplary embodiments have been shown and described, it willbe understood that various changes and modifications to the foregoingembodiments may become apparent to those skilled in the art withoutdeparting from the spirit and scope of the present invention.

What is claimed is:
 1. A system, comprising: an image processing systemcomprising a server and configured to: receive an initial set of imagesof at least two items; identify color distributions from the initial setof images using two encoders; group colors of the at least two itemsbased on similarities of the identified color distributions using acolor coding model; receive an image of at least one additional item;identify a color distribution from the image of the at least oneadditional item using the two encoders; assign a color to the at leastone additional item based, at least in part, on the identified colordistribution from the image of the least one additional item and thegrouped colors of the at least two items; and modify a color attributevalue associated with the at least one additional item based, at leastin part, on the assigned color and a uniform color code.
 2. The systemof claim 1, wherein the image processing system preprocesses an image ofan item by: localizing an item in an image by a bounding box detectionalgorithm; resizing the image to a uniform size; and applying an imagemask.
 3. The system of claim 1, wherein the two encoders comprise atleast one of a box encoder and an iterative cell encoder.
 4. The systemof claim 1, wherein the image processing system is further configuredto: identify customer segments based, at least in part, on the modifiedcolor attribute value and purchase history of one or more customers. 5.A method, comprising: receiving, by an image processing systemcomprising a server, an initial set of images of at least two items;identifying, by the image processing system, color distributions fromthe initial set of images using two encoders; grouping, by the imageprocessing system, colors of the at least two items based onsimilarities of the identified color distributions using a color codingmodel; receiving, by the image processing system, an image of at leastone additional item; identifying, by the image processing system, acolor distribution from the image of the at least one additional itemusing the two encoders; assigning, by the image processing system, acolor to the at least one additional item based, at least in part, onthe identified color distribution from the image of the least oneadditional item and the grouped colors of the at least two items; andmodifying, by the image processing system, a color attribute valueassociated with the at least one additional item based, at least inpart, on the assigned color and a uniform color code.
 6. The method ofclaim 5, further comprising: preprocessing an image of an item by:localizing, by the image processing system, an item in an image by abounding box detection algorithm; resizing, by the image processingsystem, the image to a uniform size; and applying, by the imageprocessing system, an image mask.
 7. The method of claim 5, wherein thetwo encoders comprise at least one of a box encoder and an iterativecell encoder.
 8. The method of claim 7, wherein the box encoder extractsa histogram of color distributions from non-overlapping boxes thatextend from the center of an image and grow larger to the perimeter ofthe image and concatenation of box features define a feature vector. 9.The method of claim 5, further comprising: identifying, by the imageprocessing system, customer segments based, at least in part, on themodified color attribute value and purchase history of one or morecustomers.
 10. A non-tangible computer-readable medium embodied withsoftware, the software when executed: receives an initial set of imagesof at least two items; identifies color distributions from the initialset of images using two encoders; groups colors of the at least twoitems based on similarities of the identified color distributions usinga color coding model; receives an image of at least one additional item;identifies a color distribution from the image of the at least oneadditional item using the two encoders; assigns a color to the at leastone additional item based, at least in part, on the identified colordistribution from the image of the least one additional item and thegrouped colors of the at least two items; and modifies a color attributevalue associated with the at least one additional item based, at leastin part, on the assigned color and a uniform color code.
 11. Thenon-tangible computer-readable medium of claim 10, wherein the softwarewhen executed is configured to preprocess an image of an item by:localizing an item in an image by a bounding box detection algorithm;resizing the image to a uniform size; and applying an image mask. 12.The non-tangible computer-readable medium of claim 10, wherein the twoencoders comprise at least one of a box encoder and an iterative cellencoder.
 13. The non-tangible computer-readable medium of claim 12,wherein the box encoder extracts a histogram of color distributions fromnon-overlapping boxes that extend from the center of an image and growlarger to the perimeter of the image and concatenation of box featuresdefine a feature vector.
 14. The non-tangible computer-readable mediumof claim 10, wherein the software when executed further: identifiescustomer segments based, at least in part, on the modified colorattribute value and purchase history of one or more customers.